﻿/* -----------------------------------------------------------------------
 * $HeadURL: http://administracion-personal.googlecode.com/svn/trunk/Administracion%20Personal/DAO/Linq/Acciones/Titular/ActivarAccion.cs $
 * 
 * Copyright © 2010, Eskol Team
 * All rights reserved.
 * 
 * http://electrocucaracha.com
 * 
 * 
 * Description: Accion que activa un titular la base de datos utilizando 
 * la tecnologia LINQ.
 * 
 * $Author: electrocucaracha $
 * $Date: 2010-08-31 02:02:35 +0000 (Tue, 31 Aug 2010) $
 * $Revision: 70 $
 * 
 * -----------------------------------------------------------------------
*/

#region Imports

using Entidades = Electrocucaracha.AdminPersonal.DAO.Entidades;
using Electrocucaracha.AdminPersonal.DAO.Acciones;
using Common.Logging;

#endregion

namespace Electrocucaracha.AdminPersonal.DAO.Linq.Acciones.Titular
{
    /// <summary>
    /// Accion que actualiza un titular en la base de datos utilizando la 
    /// tecnologia LINQ
    /// </summary>
    class ActivarAccion : Accion
    {
        #region Constantes

        #endregion

        #region Miembros

        private static readonly ILog log = LogManager.GetLogger(typeof(ActivarAccion));
        private static readonly string version = "$Id: ActivarAccion.cs 70 2010-08-31 02:02:35Z electrocucaracha $";

        #endregion

        #region Propiedades

        #endregion

        #region Constructores

        #endregion

        #region Funciones

        #endregion

        #region IAccion

        /// <summary>
        /// Accion que activa en la base de datos el titular solicitado
        /// </summary>
        /// <exception cref="Electrocucaracha.AdminPersonal.DAO.DAOException">
        /// En caso de que no se pueda activar el titular deseado.
        /// </exception>
        public override void Ejecutar()
        {
            log.Info("Inicio Titular.ActivarAccion.Ejecutar()");

            parametros[OUTPUT] = false;
            Entidades.TitularDTO titular = parametros[INPUT] as Entidades.TitularDTO;
            if (titular != null)
            {
                log.Debug("Id : " + titular.Id);

                dbAdminPersonalDataContext dbAdmin = new dbAdminPersonalDataContext();
                parametros[OUTPUT] = dbAdmin.ActivarTitular(titular.Id) >= 0;

                log.Debug("OUTPUT : " + parametros[OUTPUT]);
            }
            else
            {
                log.Error("No se pudo obtener el titular a activar");
                throw new DAOException("No se pudo obtener el titular a activar");
            }

            log.Info("Fin Titular.ActivarAccion.Ejecutar()");
        }//Ejecutar

        #endregion

    }//ActivarAccion
}//Electrocucaracha.AdminPersonal.DAO.Linq.Acciones.Titular

/**
 * -----------------------------------------------------------------------
 * $Log $ 
*/